#pragma once

#include <butil/logging.h>
#include <brpc/server.h>
#include <frpc.pb.h>

namespace frpcType
{

    class StaticDataSvcImpl : public StaticDataSvc
    {
    public:
        StaticDataSvcImpl(){};
        virtual ~StaticDataSvcImpl(){};
        
        virtual void GetExchangeList(google::protobuf::RpcController *cntl_base,
                                     const DefaultArg *request,
                                     ExchangeArray *response,
                                     google::protobuf::Closure *done);
                               
        virtual void GetCollectionList(google::protobuf::RpcController *cntl_base,
                                     const DefaultArg *request,
                                     CollectionArray *response,
                                     google::protobuf::Closure *done) override;
        virtual void GetCollectionContent(google::protobuf::RpcController *cntl_base,
                                     const DefaultArg *request,
                                     ContractArray *response,
                                     google::protobuf::Closure *done) override;
        virtual void GetBarSeries(google::protobuf::RpcController *cntl_base,
                                     const GetBarRequest *request,
                                     DefaultArg *response,
                                     google::protobuf::Closure *done) override;

        virtual void GetBarRange(google::protobuf::RpcController* cntl_base,
            const GetBarRequest* request,
            DefaultArg* response,
            google::protobuf::Closure* done) override;
        
  
    };

}